layui.define(['layer','table','form'],function(exports){
	var $ = layui.$, layer = layui.layer, table = layui.table, form = layui.form;
	var objModel = {
		/*@列表*/
		list: {
			/**
			 * 列表的表单查询
			 * @param  string 	name     	提交按钮lay-filter属性
			 * @param  obj 		tableObj 	表单
			 * @param  obj 		where 		查询条件
			 */
			search: function(name, tableObj, where = []){
				form.on('submit('+name+')',function(data){
					var obj = data.elem;
					var field = data.field;
					if(field.start != '' && field.end != ''){
						var startDate = new Date(field.start).getTime();
						var endDate = new Date(field.end).getTime();
						if(startDate > endDate){
							layer.msg('开始时间不能大于结束时间',{icon: 2})
							return false
						}
					}

					$.extend(where,field)/*合并条件*/
					/*判断是否是导出*/
					let page = {};
					page.page = 1;
					/*重载表格数据*/
					tableObj.reload({
						page,
			            where: where
			        });
					console.log(page)
				})
			},
			/*@导出数据处理*/
			handleData: function(res){
				return res
			},
			/**
			 * 列表的表单查询
			 * @param  string 	name     	提交按钮lay-filter属性
			 * @param  string 	url     	请求地址
			 * @param  obj 		tableObj 	表单
			 * @param  string 	title 		导出的文件名
			 * @param  string 	end 		文件后缀名
			 * @param  obj 		where 		查询条件
			 */
			excel: function(name, url, tableObj, title, end ,where = {}){
				form.on('submit('+name+')',function(data){
					var obj = data.elem;
					var field = data.field;
					if(field.start != '' && field.end != ''){
						var startDate = new Date(field.start).getTime();
						var endDate = new Date(field.end).getTime();
						if(startDate > endDate){
							layer.msg('开始时间不能大于结束时间',{icon: 2})
							return false
						}
					}
					$.extend(where,field)/*合并条件*/
					/*判断是否是导出*/
					let page = {};
					where.page = 1;
					where.limit = 'limit';
					$.get(url, where, function(res){
						exportData = objModel.list.handleData(res)
						console.log(exportData)
				    	// for(var i = 0;i < res.data.length;++i){
				    	// 	res.data[i].id = i + 1
				    	// }
				    	// exportData = res.data
						layer.confirm('确定导出', {icon: 3, title:'提示'}, function(index){
			        		if(exportData.length == 0){
			        			layer.msg('没有要导出的数据',{icon: 5})
			        			return
			        		}
			                layer.close(index);
			                tableObj.config.index = title;
			                table.exportFile(tableObj.config.id,exportData, end);
			            })
					})
				})
			},
			
		},
	};
	//输出接口
	exports('common', objModel);
})